import React, {Component} from 'react';
import './index.css'
import {nanoid} from "nanoid";
import PropTypes from 'prop-types'

class Header extends Component {
    //对接收的props类型和必要性的限制
    static propTypes = {
        addTodo: PropTypes.func.isRequired
    }

    //键盘事件的回调
    handKeyUp = (event) => {
        //解构赋值获取
        let {keyCode, target} = event
        //判断是否是回车
        if (keyCode !== 13) return
        let value = target.value
        if (value.trim() === '') {
            alert('输入不能为空！')
            return
        }
        //准备好一个todo对象
        let todoObj = {id: nanoid(), name: value, done: false}
        //传递给todos
        this.props.addTodo(todoObj)
        //清空输入
        target.value = ''
    }

    render() {
        return (
            <div className="todo-header">
                <input onKeyUp={this.handKeyUp} type="text" placeholder="请输入你的任务名称，按回车确定"/>
            </div>
        );
    }
}

export default Header;